﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using QuimpacAdminWebClientes.utilidades;
using Negocio;
using Entidad;

namespace WebProveedores
{
    public partial class CambiarPasswordIntra : System.Web.UI.Page
    {
        public EnUsuario objUsuario = new EnUsuario();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Session["usuario"] == null)
                {
                    Response.Redirect("LoginIntra.aspx");
                }
                else
                {
                    objUsuario = (EnUsuario)Session["usuario"];
                    if (!objUsuario.vez.Equals("1"))// no es primera vez
                    {
                        Response.Redirect("AdminUsuarios.aspx");
                    }
                    else
                    {//SI es primera vez
                        txtRUC.Text = objUsuario.usuario;
                    }
                }
            }
        }

        private int buscaCaracter(String clave)
        {
            int ret = 0;//no se encontró ningún caracter. SI es 0 = sin caracteres o sin números. 2 = contiene por lo menos 1 caracter o un número
            try
            {
                //buscar letras
                for (int i = 65; i < 91; i++ )
                    if (clave.Contains((char)i))
                    {
                        ret++;
                        break;
                    }
                if (ret == 0)
                {
                    for (int i = 97; i < 122; i++)
                        if (clave.Contains((char)i))
                        {
                            ret++;
                            break;
                        }
                }
                if (!(ret == 0))
                {
                    for (int i = 0; i < 10; i++)
                        if (clave.Contains(i.ToString()))
                        {
                            ret++;
                            break;
                        }
                } 
                
            }catch(Exception ex)
            {
                ret = 0;
            }

            return ret;
        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            NeUsuario neP = new NeUsuario();
            objUsuario = (EnUsuario)Session["usuario"];
            string clave = String.Format("{0}", Request.Form["campo_clave"]);
            string clave2 = String.Format("{0}", Request.Form["campo_clave2"]);
            if (clave.Equals(clave2))
            {
                if (buscaCaracter(clave) > 1 && buscaCaracter(clave2) > 1)
                {
                    int ret = neP.updatUsuario(txtRUC.Text.Trim(), crypto.ActionEncrypt(clave));
                    if (ret == 0)//se actualizó
                    {
                        if (objUsuario != null)
                        {
                            if (objUsuario.tipo.Equals("1"))
                            {
                                Response.Redirect("AsignarSociedadUsuario.aspx");
                            }
                            else
                            {
                                Response.Redirect("Default.aspx");
                            }
                        }
                    }
                }
                else
                {
                    ClientScript.RegisterStartupScript(this.GetType(), "Resultado", "alert('" + "El password debe de contener por lo menos una LETRA o un Número" + "');", true);
                }
            }
            else
            {
                ClientScript.RegisterStartupScript(this.GetType(), "Resultado", "alert('" + "Ambos password deben de ser iguales" + "');", true);
            }

        }


    }
}